הנה קוד הphp שלי
$_POST['Name']=$name;
$_POST['Paasword']=$password;
if(mysql_query("SELECT * FROM `admin` WHERE `name`='".$name."' AND `password`='".$password."' "))
{
;"Error = "invaild$
}

אם אני יכתוב במקום Error$ את הפקודה echo זה ידפיס לי invaild אם הנתונים לא נכונים
אבל אני רוצה שזה יעצור את ההרצה של הקובץ מה שהerror אמור לעשות והוא לא פועל לי טוב.
לכתוב את הפקודה error בצורה שונה

2 תשובות

avatar ענה AvihayMenahem ב 18 ליולי 2012 #

בשביל זה יש לך כמה דרכים...
הדרך הראשונה היא להשתמש בreturn אחרי הecho, לדוגמא:

<?php
if($statement == 1)
{
  return 'Is Valid';
}


הדרך השנייה היא להתחיל לעלות רמה ולהשתמש בexceptions, ועל זה תוכל לקרוא פה:
http://php.net/manual/en/language.exceptions.php

avatar ענה Y_Y ב 18 ליולי 2012 #

אני לא יודע אם השתמשת בפונקצייה או מחלקה אבל רצוי להפריד בין חלקי הקוד השונים כלומר:

קוד שיתעסק בקבלת נתונים, קוד שיתעסק בבסיס הנתונים , קוד שיריץ שאילתות וכו'

אפשר לבצע את זה במספר דרכים לאו דווקא עם מחלקות וכל הסיבוך שכרוך בזה.

יש כמה דרכים לשבור קוד בזמן הרצה:

בפונקציות/מחלקות משתמשים ב

return $value
או רק
return;


בלולאות משתמשים ב
break 1/2/3/4
לפי כמות הלולאות שאתה רוצה לשבור

יש גם
exit
שמשמש לעצירה מוחלטת של ההרצה ויציאה.

כמו שטענו מעליי אקספשיינס בזמן הפיתוח זה חשוב מאוד לתפוס לבדוק איפה הבעיה.